package modelo.naves;

import static modelo.SetUps.*;

import vista.VistaFactory;
import vista.VistaMovil;

import modelo.Movil;
import modelo.PuntosSimples;
import modelo.armas.*;
import modelo.desplazadores.DesplazadorZigZag;
import modelo.util.Vector;

public class Bombardero extends NavesArmadas {

	public Bombardero(Vector pos, Vector dir){
		super();
		energia = new EnergiaLineal (ENERGIA_BOMBARDERO);
		desplazador = new DesplazadorZigZag(pos, dir, VELOCIDAD_BOMBARDERO);
		puntos = new PuntosSimples(PUNTOS_BOMBARDERO);
		radio = RADIO_BOMBARDERO;
		this.setArma();
	}

	
	public boolean dejaNuevoObjetoAlMorir(){
		return true;
	}
	
	public Movil dejarNuevoObjetoAlMorir(){
		return (new PickUpArmaBombardero(this.getPosicion(), 
				new Vector (0,1))  );
	}

	private void setArma(){
		arma = new ArmaCompuesta();
		Armas armaAux = new Laser (new BandoEnemigo());
		((ArmaCompuesta)arma).addArma(armaAux);
		armaAux = new Cohete (new BandoEnemigo()); 
		((ArmaCompuesta)arma).addArma(armaAux);
		armaAux = new TorpedoRastreador(new BuscaAlgo42());
		((ArmaCompuesta)arma).addArma(armaAux);
	}
	
	public VistaMovil getVista (VistaFactory vistaFactory){
		return vistaFactory.getVistaBombardero(this);
	}

}
